#ifndef __TEXTURASPACMAN_H__
#define __TEXTURASPACMAN_H__

#include "Textura.h"
#include "Lista.h"

using namespace std;

/**
 * Clase cuya instancia representa un personaje a mostrar en la pantalla
 */
class TexturasPacman : public TexturasPersonaje{

public:

	// La textura por default
	// Agrega las rotaciones para cada direccion
	TexturasPacman(const string& path, const string& alpha){
		
		this->inicializar();

		Textura* texturaPacman1 = new Textura("PACMAN1", path ,0,0,0,0,alpha,0,0);
		texturaPacman1->getImagen()->redimensionar(Contenido::getAltoContenido(),Contenido::getAnchoContenido());
		this->derecha->agregar(texturaPacman1);

		Textura* tAbajo = new Textura("PACMAN1", path ,0,0,0,0,alpha,0,0); //texturaPacman1->clonar();
		tAbajo->rotar(90);
		tAbajo->getImagen()->redimensionar(Contenido::getAltoContenido(),Contenido::getAnchoContenido());
		this->abajo->agregar(tAbajo);

		Textura* tIzq = new Textura("PACMAN1", path ,0,0,0,0,alpha,0,0); //tAbajo->clonar();
		tIzq->rotar(180);
		tIzq->getImagen()->redimensionar(Contenido::getAltoContenido(),Contenido::getAnchoContenido());
		this->izquierda->agregar(tIzq);

		Textura* tArriba = new Textura("PACMAN1", path ,0,0,0,0,alpha,0,0); //tIzq->clonar();
		tArriba->rotar(270);
		tArriba->getImagen()->redimensionar(Contenido::getAltoContenido(),Contenido::getAnchoContenido());
		this->arriba->agregar(tArriba);

		
		
	
	}

	// Agregar una textura para dar sensacion de movimiento
	// Agrega las rotaciones para cada direccion
	void addTextura(const string& path, const string& alpha){
		
		Textura* texturaPacman1 = new Textura("PACMAN2", path ,0,0,0,0,alpha,0,0);
		texturaPacman1->getImagen()->redimensionar(Contenido::getAltoContenido(),Contenido::getAnchoContenido());
		this->derecha->agregar(texturaPacman1);

		Textura* tAbajo = new Textura("PACMAN2", path ,0,0,0,0,alpha,0,0); //texturaPacman1->clonar();
		tAbajo->rotar(90);
		tAbajo->getImagen()->redimensionar(Contenido::getAltoContenido(),Contenido::getAnchoContenido());
		this->abajo->agregar(tAbajo);

		Textura* tIzq = new Textura("PACMAN2", path ,0,0,0,0,alpha,0,0); //tAbajo->clonar();
		tIzq->rotar(180);
		tIzq->getImagen()->redimensionar(Contenido::getAltoContenido(),Contenido::getAnchoContenido());
		this->izquierda->agregar(tIzq);

		Textura* tArriba = new Textura("PACMAN2", path ,0,0,0,0,alpha,0,0); //tIzq->clonar();
		tArriba->rotar(270);
		tArriba->getImagen()->redimensionar(Contenido::getAltoContenido(),Contenido::getAnchoContenido());
		this->arriba->agregar(tArriba);

	}

};

#endif